
package com.naqel.shipment;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;


/**
 * <p>ManifestShipmentDetails complex type的 Java 类。
 * 
 * <p>以下模式片段指定包含在此类中的预期内容。
 * 
 * <pre>
 * &lt;complexType name="ManifestShipmentDetails">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="ClientInfo" type="{http://tempuri.org/}ClientInformation" minOccurs="0"/>
 *         &lt;element name="ConsigneeInfo" type="{http://tempuri.org/}ConsigneeInformation" minOccurs="0"/>
 *         &lt;element name="_CommercialInvoice" type="{http://tempuri.org/}CommercialInvoice" minOccurs="0"/>
 *         &lt;element name="CurrenyID" type="{http://www.w3.org/2001/XMLSchema}int" minOccurs="0"/>
 *         &lt;element name="BillingType" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *         &lt;element name="PicesCount" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *         &lt;element name="Weight" type="{http://www.w3.org/2001/XMLSchema}double"/>
 *         &lt;element name="OriginStationID" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *         &lt;element name="DestinationStationID" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *         &lt;element name="DeliveryInstruction" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="CODCharge" type="{http://www.w3.org/2001/XMLSchema}double"/>
 *         &lt;element name="CreateBooking" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="isRTO" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="GeneratePiecesBarCodes" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="PromisedDeliveryDateFrom" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
 *         &lt;element name="PromisedDeliveryDateTo" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
 *         &lt;element name="LoadTypeID" type="{http://www.w3.org/2001/XMLSchema}int"/>
 *         &lt;element name="DeclareValue" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
 *         &lt;element name="GoodDesc" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="Latitude" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="Longitude" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="RefNo" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="Width" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
 *         &lt;element name="Length" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
 *         &lt;element name="Height" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
 *         &lt;element name="VolumetricWeight" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
 *         &lt;element name="InsuredValue" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
 *         &lt;element name="Reference1" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="Reference2" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="GoodsVATAmount" type="{http://www.w3.org/2001/XMLSchema}double" minOccurs="0"/>
 *         &lt;element name="IsCustomDutyPayByConsignee" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="PickUpPoint" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ManifestShipmentDetails", propOrder = {
    "clientInfo",
    "consigneeInfo",
    "commercialInvoice",
    "currenyID",
    "billingType",
    "picesCount",
    "weight",
    "originStationID",
    "destinationStationID",
    "deliveryInstruction",
    "codCharge",
    "createBooking",
    "isRTO",
    "generatePiecesBarCodes",
    "promisedDeliveryDateFrom",
    "promisedDeliveryDateTo",
    "loadTypeID",
    "declareValue",
    "goodDesc",
    "latitude",
    "longitude",
    "refNo",
    "width",
    "length",
    "height",
    "volumetricWeight",
    "insuredValue",
    "reference1",
    "reference2",
    "goodsVATAmount",
    "isCustomDutyPayByConsignee",
    "pickUpPoint"
})
public class ManifestShipmentDetails {

    @XmlElement(name = "ClientInfo")
    protected ClientInformation clientInfo;
    @XmlElement(name = "ConsigneeInfo")
    protected ConsigneeInformation consigneeInfo;
    @XmlElement(name = "_CommercialInvoice")
    protected CommercialInvoice commercialInvoice;
    @XmlElement(name = "CurrenyID", defaultValue = "0")
    protected Integer currenyID;
    @XmlElement(name = "BillingType")
    protected int billingType;
    @XmlElement(name = "PicesCount")
    protected int picesCount;
    @XmlElement(name = "Weight")
    protected double weight;
    @XmlElement(name = "OriginStationID")
    protected int originStationID;
    @XmlElement(name = "DestinationStationID")
    protected int destinationStationID;
    @XmlElement(name = "DeliveryInstruction")
    protected String deliveryInstruction;
    @XmlElement(name = "CODCharge")
    protected double codCharge;
    @XmlElement(name = "CreateBooking", defaultValue = "false")
    protected Boolean createBooking;
    @XmlElement(defaultValue = "false")
    protected Boolean isRTO;
    @XmlElement(name = "GeneratePiecesBarCodes", defaultValue = "true")
    protected Boolean generatePiecesBarCodes;
    @XmlElement(name = "PromisedDeliveryDateFrom", required = true, nillable = true)
    @XmlSchemaType(name = "dateTime")
    protected XMLGregorianCalendar promisedDeliveryDateFrom;
    @XmlElement(name = "PromisedDeliveryDateTo", required = true, nillable = true)
    @XmlSchemaType(name = "dateTime")
    protected XMLGregorianCalendar promisedDeliveryDateTo;
    @XmlElement(name = "LoadTypeID")
    protected int loadTypeID;
    @XmlElement(name = "DeclareValue", defaultValue = "0")
    protected Double declareValue;
    @XmlElement(name = "GoodDesc")
    protected String goodDesc;
    @XmlElement(name = "Latitude")
    protected String latitude;
    @XmlElement(name = "Longitude")
    protected String longitude;
    @XmlElement(name = "RefNo")
    protected String refNo;
    @XmlElement(name = "Width", defaultValue = "1")
    protected Double width;
    @XmlElement(name = "Length", defaultValue = "1")
    protected Double length;
    @XmlElement(name = "Height", defaultValue = "1")
    protected Double height;
    @XmlElement(name = "VolumetricWeight", defaultValue = "0.1")
    protected Double volumetricWeight;
    @XmlElement(name = "InsuredValue", defaultValue = "0")
    protected Double insuredValue;
    @XmlElement(name = "Reference1")
    protected String reference1;
    @XmlElement(name = "Reference2")
    protected String reference2;
    @XmlElement(name = "GoodsVATAmount", defaultValue = "0")
    protected Double goodsVATAmount;
    @XmlElement(name = "IsCustomDutyPayByConsignee", defaultValue = "false")
    protected Boolean isCustomDutyPayByConsignee;
    @XmlElement(name = "PickUpPoint")
    protected String pickUpPoint;

    /**
     * 获取clientInfo属性的值。
     * 
     * @return
     *     possible object is
     *     {@link ClientInformation }
     *     
     */
    public ClientInformation getClientInfo() {
        return clientInfo;
    }

    /**
     * 设置clientInfo属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link ClientInformation }
     *     
     */
    public void setClientInfo(ClientInformation value) {
        this.clientInfo = value;
    }

    /**
     * 获取consigneeInfo属性的值。
     * 
     * @return
     *     possible object is
     *     {@link ConsigneeInformation }
     *     
     */
    public ConsigneeInformation getConsigneeInfo() {
        return consigneeInfo;
    }

    /**
     * 设置consigneeInfo属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link ConsigneeInformation }
     *     
     */
    public void setConsigneeInfo(ConsigneeInformation value) {
        this.consigneeInfo = value;
    }

    /**
     * 获取commercialInvoice属性的值。
     * 
     * @return
     *     possible object is
     *     {@link CommercialInvoice }
     *     
     */
    public CommercialInvoice getCommercialInvoice() {
        return commercialInvoice;
    }

    /**
     * 设置commercialInvoice属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link CommercialInvoice }
     *     
     */
    public void setCommercialInvoice(CommercialInvoice value) {
        this.commercialInvoice = value;
    }

    /**
     * 获取currenyID属性的值。
     * 
     * @return
     *     possible object is
     *     {@link Integer }
     *     
     */
    public Integer getCurrenyID() {
        return currenyID;
    }

    /**
     * 设置currenyID属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link Integer }
     *     
     */
    public void setCurrenyID(Integer value) {
        this.currenyID = value;
    }

    /**
     * 获取billingType属性的值。
     * 
     */
    public int getBillingType() {
        return billingType;
    }

    /**
     * 设置billingType属性的值。
     * 
     */
    public void setBillingType(int value) {
        this.billingType = value;
    }

    /**
     * 获取picesCount属性的值。
     * 
     */
    public int getPicesCount() {
        return picesCount;
    }

    /**
     * 设置picesCount属性的值。
     * 
     */
    public void setPicesCount(int value) {
        this.picesCount = value;
    }

    /**
     * 获取weight属性的值。
     * 
     */
    public double getWeight() {
        return weight;
    }

    /**
     * 设置weight属性的值。
     * 
     */
    public void setWeight(double value) {
        this.weight = value;
    }

    /**
     * 获取originStationID属性的值。
     * 
     */
    public int getOriginStationID() {
        return originStationID;
    }

    /**
     * 设置originStationID属性的值。
     * 
     */
    public void setOriginStationID(int value) {
        this.originStationID = value;
    }

    /**
     * 获取destinationStationID属性的值。
     * 
     */
    public int getDestinationStationID() {
        return destinationStationID;
    }

    /**
     * 设置destinationStationID属性的值。
     * 
     */
    public void setDestinationStationID(int value) {
        this.destinationStationID = value;
    }

    /**
     * 获取deliveryInstruction属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDeliveryInstruction() {
        return deliveryInstruction;
    }

    /**
     * 设置deliveryInstruction属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDeliveryInstruction(String value) {
        this.deliveryInstruction = value;
    }

    /**
     * 获取codCharge属性的值。
     * 
     */
    public double getCODCharge() {
        return codCharge;
    }

    /**
     * 设置codCharge属性的值。
     * 
     */
    public void setCODCharge(double value) {
        this.codCharge = value;
    }

    /**
     * 获取createBooking属性的值。
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isCreateBooking() {
        return createBooking;
    }

    /**
     * 设置createBooking属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setCreateBooking(Boolean value) {
        this.createBooking = value;
    }

    /**
     * 获取isRTO属性的值。
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isIsRTO() {
        return isRTO;
    }

    /**
     * 设置isRTO属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setIsRTO(Boolean value) {
        this.isRTO = value;
    }

    /**
     * 获取generatePiecesBarCodes属性的值。
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isGeneratePiecesBarCodes() {
        return generatePiecesBarCodes;
    }

    /**
     * 设置generatePiecesBarCodes属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setGeneratePiecesBarCodes(Boolean value) {
        this.generatePiecesBarCodes = value;
    }

    /**
     * 获取promisedDeliveryDateFrom属性的值。
     * 
     * @return
     *     possible object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public XMLGregorianCalendar getPromisedDeliveryDateFrom() {
        return promisedDeliveryDateFrom;
    }

    /**
     * 设置promisedDeliveryDateFrom属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public void setPromisedDeliveryDateFrom(XMLGregorianCalendar value) {
        this.promisedDeliveryDateFrom = value;
    }

    /**
     * 获取promisedDeliveryDateTo属性的值。
     * 
     * @return
     *     possible object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public XMLGregorianCalendar getPromisedDeliveryDateTo() {
        return promisedDeliveryDateTo;
    }

    /**
     * 设置promisedDeliveryDateTo属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public void setPromisedDeliveryDateTo(XMLGregorianCalendar value) {
        this.promisedDeliveryDateTo = value;
    }

    /**
     * 获取loadTypeID属性的值。
     * 
     */
    public int getLoadTypeID() {
        return loadTypeID;
    }

    /**
     * 设置loadTypeID属性的值。
     * 
     */
    public void setLoadTypeID(int value) {
        this.loadTypeID = value;
    }

    /**
     * 获取declareValue属性的值。
     * 
     * @return
     *     possible object is
     *     {@link Double }
     *     
     */
    public Double getDeclareValue() {
        return declareValue;
    }

    /**
     * 设置declareValue属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link Double }
     *     
     */
    public void setDeclareValue(Double value) {
        this.declareValue = value;
    }

    /**
     * 获取goodDesc属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getGoodDesc() {
        return goodDesc;
    }

    /**
     * 设置goodDesc属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setGoodDesc(String value) {
        this.goodDesc = value;
    }

    /**
     * 获取latitude属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLatitude() {
        return latitude;
    }

    /**
     * 设置latitude属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLatitude(String value) {
        this.latitude = value;
    }

    /**
     * 获取longitude属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getLongitude() {
        return longitude;
    }

    /**
     * 设置longitude属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setLongitude(String value) {
        this.longitude = value;
    }

    /**
     * 获取refNo属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getRefNo() {
        return refNo;
    }

    /**
     * 设置refNo属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setRefNo(String value) {
        this.refNo = value;
    }

    /**
     * 获取width属性的值。
     * 
     * @return
     *     possible object is
     *     {@link Double }
     *     
     */
    public Double getWidth() {
        return width;
    }

    /**
     * 设置width属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link Double }
     *     
     */
    public void setWidth(Double value) {
        this.width = value;
    }

    /**
     * 获取length属性的值。
     * 
     * @return
     *     possible object is
     *     {@link Double }
     *     
     */
    public Double getLength() {
        return length;
    }

    /**
     * 设置length属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link Double }
     *     
     */
    public void setLength(Double value) {
        this.length = value;
    }

    /**
     * 获取height属性的值。
     * 
     * @return
     *     possible object is
     *     {@link Double }
     *     
     */
    public Double getHeight() {
        return height;
    }

    /**
     * 设置height属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link Double }
     *     
     */
    public void setHeight(Double value) {
        this.height = value;
    }

    /**
     * 获取volumetricWeight属性的值。
     * 
     * @return
     *     possible object is
     *     {@link Double }
     *     
     */
    public Double getVolumetricWeight() {
        return volumetricWeight;
    }

    /**
     * 设置volumetricWeight属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link Double }
     *     
     */
    public void setVolumetricWeight(Double value) {
        this.volumetricWeight = value;
    }

    /**
     * 获取insuredValue属性的值。
     * 
     * @return
     *     possible object is
     *     {@link Double }
     *     
     */
    public Double getInsuredValue() {
        return insuredValue;
    }

    /**
     * 设置insuredValue属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link Double }
     *     
     */
    public void setInsuredValue(Double value) {
        this.insuredValue = value;
    }

    /**
     * 获取reference1属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getReference1() {
        return reference1;
    }

    /**
     * 设置reference1属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setReference1(String value) {
        this.reference1 = value;
    }

    /**
     * 获取reference2属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getReference2() {
        return reference2;
    }

    /**
     * 设置reference2属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setReference2(String value) {
        this.reference2 = value;
    }

    /**
     * 获取goodsVATAmount属性的值。
     * 
     * @return
     *     possible object is
     *     {@link Double }
     *     
     */
    public Double getGoodsVATAmount() {
        return goodsVATAmount;
    }

    /**
     * 设置goodsVATAmount属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link Double }
     *     
     */
    public void setGoodsVATAmount(Double value) {
        this.goodsVATAmount = value;
    }

    /**
     * 获取isCustomDutyPayByConsignee属性的值。
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isIsCustomDutyPayByConsignee() {
        return isCustomDutyPayByConsignee;
    }

    /**
     * 设置isCustomDutyPayByConsignee属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setIsCustomDutyPayByConsignee(Boolean value) {
        this.isCustomDutyPayByConsignee = value;
    }

    /**
     * 获取pickUpPoint属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getPickUpPoint() {
        return pickUpPoint;
    }

    /**
     * 设置pickUpPoint属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPickUpPoint(String value) {
        this.pickUpPoint = value;
    }

}
